#version 310 es
#ifdef GL_EXT_shader_texture_lod
#extension GL_EXT_shader_texture_lod : enable
#endif

precision highp float;
precision highp int;
#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
#define UNITY_UNIFORM
#else
#define UNITY_UNIFORM uniform
#endif
#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
#if UNITY_SUPPORTS_UNIFORM_LOCATION
#define UNITY_LOCATION(x) layout(location = x)
#define UNITY_BINDING(x) layout(binding = x, std140)
#else
#define UNITY_LOCATION(x)
#define UNITY_BINDING(x) layout(std140)
#endif
uniform 	vec4 _ScaledScreenParams;
uniform 	vec2 _GlobalMipBias;
uniform 	vec4 _MainLightPosition;
uniform 	mediump vec4 _MainLightColor;
uniform 	mediump vec4 _AmbientOcclusionParam;
uniform 	vec4 _FPParams0;
uniform 	vec4 _FPParams1;
uniform 	vec4 _AdditionalLightsPosition[16];
uniform 	mediump vec4 _AdditionalLightsColor[16];
uniform 	mediump vec4 _AdditionalLightsAttenuation[16];
uniform 	mediump vec4 _AdditionalLightsSpotDir[16];
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 hlslcc_mtx4x4unity_MatrixV[4];
uniform 	vec4 _MainLightShadowParams;
uniform 	vec4 hlslcc_mtx4x4_MainLightWorldToLight[4];
uniform 	float _AdditionalLightsCookieEnableBits;
uniform 	float _MainLightCookieTextureFormat;
uniform 	float _AdditionalLightsCookieAtlasTextureFormat;
uniform 	vec4 hlslcc_mtx4x4_AdditionalLightsWorldToLights[64];
uniform 	vec4 _AdditionalLightsCookieAtlasUVRects[16];
uniform 	float _AdditionalLightsLightTypes[16];
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(0) uniform URP_ZBinBuffer {
#endif
	UNITY_UNIFORM vec4                URP_ZBins[1024];
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(1) uniform urp_TileBuffer {
#endif
	UNITY_UNIFORM vec4                urp_Tiles[1024];
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(2) uniform UnityPerDraw {
#endif
	UNITY_UNIFORM vec4                hlslcc_mtx4x4unity_ObjectToWorld[4];
	UNITY_UNIFORM vec4                hlslcc_mtx4x4unity_WorldToObject[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_LODFade;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_WorldTransformParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RenderingLayer;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_LightData;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_LightIndices[2];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_ProbesOcclusion;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SpecCube0_HDR;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SpecCube1_HDR;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMax;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMin;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_ProbePosition;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMax;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMin;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_ProbePosition;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_LightmapST;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_DynamicLightmapST;
	UNITY_UNIFORM mediump vec4                unity_SHAr;
	UNITY_UNIFORM mediump vec4                unity_SHAg;
	UNITY_UNIFORM mediump vec4                unity_SHAb;
	UNITY_UNIFORM mediump vec4                unity_SHBr;
	UNITY_UNIFORM mediump vec4                unity_SHBg;
	UNITY_UNIFORM mediump vec4                unity_SHBb;
	UNITY_UNIFORM mediump vec4                unity_SHC;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Min;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Max;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousM[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousMI[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_MotionVectorsParams;
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(3) uniform UnityPerMaterial {
#endif
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_SoftParticleFadeParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_CameraFadeParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_BaseMap_ST;
	UNITY_UNIFORM mediump vec4                _BaseColor;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_EmissionColor;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_BaseColorAddSubDiff;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_SpecColor;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Cutoff;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Smoothness;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DistortionStrengthScaled;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DistortionBlend;
	UNITY_UNIFORM mediump float                _Surface;
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
UNITY_LOCATION(0) uniform mediump sampler2D _ScreenSpaceOcclusionTexture;
UNITY_LOCATION(1) uniform mediump sampler2D _MainLightShadowmapTexture;
UNITY_LOCATION(2) uniform mediump sampler2DShadow hlslcc_zcmp_MainLightShadowmapTexture;
UNITY_LOCATION(3) uniform mediump sampler2D _MainLightCookieTexture;
UNITY_LOCATION(4) uniform mediump sampler2D _AdditionalLightsCookieAtlasTexture;
UNITY_LOCATION(5) uniform mediump sampler2D _BaseMap;
in highp vec2 vs_TEXCOORD0;
in mediump vec4 vs_COLOR0;
in highp vec4 vs_TEXCOORD1;
in mediump vec3 vs_TEXCOORD2;
in highp vec4 vs_TEXCOORD7;
layout(location = 0) out mediump vec4 SV_Target0;
mediump vec4 u_xlat16_0;
vec4 u_xlat1;
bool u_xlatb1;
mediump vec3 u_xlat16_2;
mediump vec4 u_xlat16_3;
vec4 u_xlat4;
mediump vec4 u_xlat16_4;
vec2 u_xlat5;
int u_xlati5;
uvec2 u_xlatu5;
vec3 u_xlat6;
ivec3 u_xlati6;
uint u_xlatu6;
bool u_xlatb6;
vec3 u_xlat7;
bvec2 u_xlatb7;
mediump vec3 u_xlat16_8;
vec4 u_xlat9;
ivec2 u_xlati9;
bvec4 u_xlatb9;
vec4 u_xlat10;
int u_xlati10;
bvec4 u_xlatb10;
vec3 u_xlat11;
vec3 u_xlat12;
mediump vec3 u_xlat16_13;
mediump vec3 u_xlat16_14;
mediump vec3 u_xlat16_18;
float u_xlat20;
int u_xlati20;
uint u_xlatu20;
float u_xlat21;
ivec3 u_xlati21;
vec3 u_xlat24;
vec3 u_xlat25;
float u_xlat35;
ivec2 u_xlati36;
vec2 u_xlat37;
ivec2 u_xlati37;
bool u_xlatb37;
float u_xlat46;
mediump float u_xlat16_46;
uint u_xlatu46;
bool u_xlatb46;
mediump float u_xlat16_47;
float u_xlat50;
int u_xlati50;
uint u_xlatu50;
bool u_xlatb50;
float u_xlat51;
uint u_xlatu51;
float u_xlat52;
int u_xlati52;
bool u_xlatb52;
int u_xlati54;
int int_bitfieldExtract(int value, int offset, int bits) {
#if defined(GL_ES) && __VERSION__ <= 300
    return (bits == 0) ? 0 : (offset + bits < 32) ? ((value << (32 - bits - offset)) >> (32 - bits)) : (value >> offset);
#else
    return bitfieldExtract(value, offset, (offset + bits < 32) ? bits : (32 - offset));
#endif
}

int op_not(int value) { return -value - 1; }
ivec2 op_not(ivec2 a) { a.x = op_not(a.x); a.y = op_not(a.y); return a; }
ivec3 op_not(ivec3 a) { a.x = op_not(a.x); a.y = op_not(a.y); a.z = op_not(a.z); return a; }
ivec4 op_not(ivec4 a) { a.x = op_not(a.x); a.y = op_not(a.y); a.z = op_not(a.z); a.w = op_not(a.w); return a; }

void main()
{
vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
    u_xlat16_0 = texture(_BaseMap, vs_TEXCOORD0.xy, _GlobalMipBias.x);
    u_xlat16_0 = u_xlat16_0 * _BaseColor;
    u_xlat16_0 = u_xlat16_0 * vs_COLOR0;
    u_xlat1.x = dot(vs_TEXCOORD2.xyz, vs_TEXCOORD2.xyz);
    u_xlat1.x = inversesqrt(u_xlat1.x);
    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD2.xyz;
    u_xlat1.w = 1.0;
    u_xlat16_2.x = dot(unity_SHAr, u_xlat1);
    u_xlat16_2.y = dot(unity_SHAg, u_xlat1);
    u_xlat16_2.z = dot(unity_SHAb, u_xlat1);
    u_xlat16_3 = u_xlat1.yzzx * u_xlat1.xyzz;
    u_xlat16_4.x = dot(unity_SHBr, u_xlat16_3);
    u_xlat16_4.y = dot(unity_SHBg, u_xlat16_3);
    u_xlat16_4.z = dot(unity_SHBb, u_xlat16_3);
    u_xlat16_47 = u_xlat1.y * u_xlat1.y;
    u_xlat16_47 = u_xlat1.x * u_xlat1.x + (-u_xlat16_47);
    u_xlat16_3.xyz = unity_SHC.xyz * vec3(u_xlat16_47) + u_xlat16_4.xyz;
    u_xlat16_2.xyz = u_xlat16_2.xyz + u_xlat16_3.xyz;
    u_xlat16_2.xyz = max(u_xlat16_2.xyz, vec3(0.0, 0.0, 0.0));
    u_xlat5.xy = vec2(1.0) / vec2(_ScaledScreenParams.xy);
    u_xlat5.xy = u_xlat5.xy * hlslcc_FragCoord.xy;
    u_xlat16_46 = texture(_ScreenSpaceOcclusionTexture, u_xlat5.xy, _GlobalMipBias.x).x;
    u_xlat35 = u_xlat16_46 + -1.0;
    u_xlat35 = _AmbientOcclusionParam.w * u_xlat35 + 1.0;
    u_xlat16_47 = min(u_xlat16_46, 1.0);
    vec3 txVec0 = vec3(vs_TEXCOORD7.xy,vs_TEXCOORD7.z);
    u_xlat16_46 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec0, 0.0);
    u_xlat16_3.x = (-_MainLightShadowParams.x) + 1.0;
    u_xlat16_3.x = u_xlat16_46 * _MainLightShadowParams.x + u_xlat16_3.x;
    u_xlatb46 = 0.0>=vs_TEXCOORD7.z;
    u_xlatb50 = vs_TEXCOORD7.z>=1.0;
    u_xlatb46 = u_xlatb46 || u_xlatb50;
    u_xlat16_3.x = (u_xlatb46) ? 1.0 : u_xlat16_3.x;
    u_xlat6.xyz = vs_TEXCOORD1.xyz + (-_WorldSpaceCameraPos.xyz);
    u_xlat46 = dot(u_xlat6.xyz, u_xlat6.xyz);
    u_xlat46 = u_xlat46 * _MainLightShadowParams.z + _MainLightShadowParams.w;
    u_xlat46 = clamp(u_xlat46, 0.0, 1.0);
    u_xlat16_18.x = (-u_xlat16_3.x) + 1.0;
    u_xlat16_3.x = u_xlat46 * u_xlat16_18.x + u_xlat16_3.x;
    u_xlatb46 = _MainLightCookieTextureFormat!=-1.0;
    if(u_xlatb46){
        u_xlat7.xy = vs_TEXCOORD1.yy * hlslcc_mtx4x4_MainLightWorldToLight[1].xy;
        u_xlat7.xy = hlslcc_mtx4x4_MainLightWorldToLight[0].xy * vs_TEXCOORD1.xx + u_xlat7.xy;
        u_xlat7.xy = hlslcc_mtx4x4_MainLightWorldToLight[2].xy * vs_TEXCOORD1.zz + u_xlat7.xy;
        u_xlat7.xy = u_xlat7.xy + hlslcc_mtx4x4_MainLightWorldToLight[3].xy;
        u_xlat7.xy = u_xlat7.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
        u_xlat16_4 = texture(_MainLightCookieTexture, u_xlat7.xy, _GlobalMipBias.x);
        u_xlatb7.xy = equal(vec4(vec4(_MainLightCookieTextureFormat, _MainLightCookieTextureFormat, _MainLightCookieTextureFormat, _MainLightCookieTextureFormat)), vec4(0.0, 1.0, 0.0, 0.0)).xy;
        u_xlat16_18.x = (u_xlatb7.y) ? u_xlat16_4.w : u_xlat16_4.x;
        u_xlat16_18.xyz = (u_xlatb7.x) ? u_xlat16_4.xyz : u_xlat16_18.xxx;
    } else {
        u_xlat16_18.x = float(1.0);
        u_xlat16_18.y = float(1.0);
        u_xlat16_18.z = float(1.0);
    }
    u_xlat16_18.xyz = u_xlat16_18.xyz * _MainLightColor.xyz;
    u_xlat16_18.xyz = vec3(u_xlat35) * u_xlat16_18.xyz;
    u_xlat16_2.xyz = vec3(u_xlat16_47) * u_xlat16_2.xyz;
    u_xlat7.xyz = u_xlat16_3.xxx * u_xlat16_18.xyz;
    u_xlat16_47 = dot(u_xlat1.xyz, _MainLightPosition.xyz);
    u_xlat16_47 = clamp(u_xlat16_47, 0.0, 1.0);
    u_xlat16_3.xyz = vec3(u_xlat16_47) * u_xlat7.xyz;
    u_xlat16_3.xyz = u_xlat16_0.xyz * u_xlat16_3.xyz;
    u_xlatu46 = uint(_FPParams0.w);
    u_xlatu50 = min(u_xlatu46, 16u);
    u_xlatb7.xy = equal(vec4(vec4(_AdditionalLightsCookieAtlasTextureFormat, _AdditionalLightsCookieAtlasTextureFormat, _AdditionalLightsCookieAtlasTextureFormat, _AdditionalLightsCookieAtlasTextureFormat)), vec4(0.0, 1.0, 0.0, 0.0)).xy;
    u_xlat16_8.x = float(0.0);
    u_xlat16_8.y = float(0.0);
    u_xlat16_8.z = float(0.0);
    for(uint u_xlatu_loop_1 = uint(0u) ; u_xlatu_loop_1<u_xlatu50 ; u_xlatu_loop_1++)
    {
        u_xlat9.xyz = (-vs_TEXCOORD1.xyz) * _AdditionalLightsPosition[int(u_xlatu_loop_1)].www + _AdditionalLightsPosition[int(u_xlatu_loop_1)].xyz;
        u_xlat37.x = dot(u_xlat9.xyz, u_xlat9.xyz);
        u_xlat37.x = max(u_xlat37.x, 6.10351562e-05);
        u_xlat52 = inversesqrt(u_xlat37.x);
        u_xlat9.xyz = vec3(u_xlat52) * u_xlat9.xyz;
        u_xlat52 = float(1.0) / float(u_xlat37.x);
        u_xlat37.x = u_xlat37.x * _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].x;
        u_xlat16_47 = (-u_xlat37.x) * u_xlat37.x + 1.0;
        u_xlat16_47 = max(u_xlat16_47, 0.0);
        u_xlat16_47 = u_xlat16_47 * u_xlat16_47;
        u_xlat37.x = u_xlat16_47 * u_xlat52;
        u_xlat16_47 = dot(_AdditionalLightsSpotDir[int(u_xlatu_loop_1)].xyz, u_xlat9.xyz);
        u_xlat16_47 = u_xlat16_47 * _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].z + _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].w;
        u_xlat16_47 = clamp(u_xlat16_47, 0.0, 1.0);
        u_xlat16_47 = u_xlat16_47 * u_xlat16_47;
        u_xlat37.x = u_xlat16_47 * u_xlat37.x;
        u_xlati52 = int(1 << (int(u_xlatu_loop_1) & int(0x1F)));
        u_xlati52 = int(uint(uint(u_xlati52) & uint(floatBitsToUint(_AdditionalLightsCookieEnableBits))));
        if(u_xlati52 != 0) {
            u_xlati52 = int(_AdditionalLightsLightTypes[int(u_xlatu_loop_1)]);
            u_xlati54 = (u_xlati52 != 0) ? 0 : 1;
            u_xlati10 = int(int(u_xlatu_loop_1) << (2 & int(0x1F)));
            if(u_xlati54 != 0) {
                u_xlat25.xyz = vs_TEXCOORD1.yyy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati10 + 1)].xyw;
                u_xlat25.xyz = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati10].xyw * vs_TEXCOORD1.xxx + u_xlat25.xyz;
                u_xlat25.xyz = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati10 + 2)].xyw * vs_TEXCOORD1.zzz + u_xlat25.xyz;
                u_xlat25.xyz = u_xlat25.xyz + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati10 + 3)].xyw;
                u_xlat25.xy = u_xlat25.xy / u_xlat25.zz;
                u_xlat25.xy = u_xlat25.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
                u_xlat25.xy = clamp(u_xlat25.xy, 0.0, 1.0);
                u_xlat25.xy = _AdditionalLightsCookieAtlasUVRects[int(u_xlatu_loop_1)].xy * u_xlat25.xy + _AdditionalLightsCookieAtlasUVRects[int(u_xlatu_loop_1)].zw;
            } else {
                u_xlatb52 = u_xlati52==1;
                u_xlati52 = u_xlatb52 ? 1 : int(0);
                if(u_xlati52 != 0) {
                    u_xlat11.xy = vs_TEXCOORD1.yy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati10 + 1)].xy;
                    u_xlat11.xy = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati10].xy * vs_TEXCOORD1.xx + u_xlat11.xy;
                    u_xlat11.xy = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati10 + 2)].xy * vs_TEXCOORD1.zz + u_xlat11.xy;
                    u_xlat11.xy = u_xlat11.xy + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati10 + 3)].xy;
                    u_xlat11.xy = u_xlat11.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
                    u_xlat11.xy = fract(u_xlat11.xy);
                    u_xlat25.xy = _AdditionalLightsCookieAtlasUVRects[int(u_xlatu_loop_1)].xy * u_xlat11.xy + _AdditionalLightsCookieAtlasUVRects[int(u_xlatu_loop_1)].zw;
                } else {
                    u_xlat4 = vs_TEXCOORD1.yyyy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati10 + 1)];
                    u_xlat4 = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati10] * vs_TEXCOORD1.xxxx + u_xlat4;
                    u_xlat4 = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati10 + 2)] * vs_TEXCOORD1.zzzz + u_xlat4;
                    u_xlat4 = u_xlat4 + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati10 + 3)];
                    u_xlat11.xyz = u_xlat4.xyz / u_xlat4.www;
                    u_xlat52 = dot(u_xlat11.xyz, u_xlat11.xyz);
                    u_xlat52 = inversesqrt(u_xlat52);
                    u_xlat11.xyz = vec3(u_xlat52) * u_xlat11.xyz;
                    u_xlat52 = dot(abs(u_xlat11.xyz), vec3(1.0, 1.0, 1.0));
                    u_xlat52 = max(u_xlat52, 9.99999997e-07);
                    u_xlat52 = float(1.0) / float(u_xlat52);
                    u_xlat12.xyz = vec3(u_xlat52) * u_xlat11.zxy;
                    u_xlat12.x = (-u_xlat12.x);
                    u_xlat12.x = clamp(u_xlat12.x, 0.0, 1.0);
                    u_xlatb10.xw = greaterThanEqual(u_xlat12.yyyz, vec4(0.0, 0.0, 0.0, 0.0)).xw;
                    u_xlat10.x = (u_xlatb10.x) ? u_xlat12.x : (-u_xlat12.x);
                    u_xlat10.w = (u_xlatb10.w) ? u_xlat12.x : (-u_xlat12.x);
                    u_xlat10.xw = u_xlat11.xy * vec2(u_xlat52) + u_xlat10.xw;
                    u_xlat10.xw = u_xlat10.xw * vec2(0.5, 0.5) + vec2(0.5, 0.5);
                    u_xlat10.xw = clamp(u_xlat10.xw, 0.0, 1.0);
                    u_xlat25.xy = _AdditionalLightsCookieAtlasUVRects[int(u_xlatu_loop_1)].xy * u_xlat10.xw + _AdditionalLightsCookieAtlasUVRects[int(u_xlatu_loop_1)].zw;
                }
            }
            u_xlat16_4 = textureLod(_AdditionalLightsCookieAtlasTexture, u_xlat25.xy, 0.0);
            u_xlat16_47 = (u_xlatb7.y) ? u_xlat16_4.w : u_xlat16_4.x;
            u_xlat16_13.xyz = (u_xlatb7.x) ? u_xlat16_4.xyz : vec3(u_xlat16_47);
        } else {
            u_xlat16_13.x = float(1.0);
            u_xlat16_13.y = float(1.0);
            u_xlat16_13.z = float(1.0);
        }
        u_xlat16_13.xyz = u_xlat16_13.xyz * _AdditionalLightsColor[int(u_xlatu_loop_1)].xyz;
        u_xlat16_13.xyz = vec3(u_xlat35) * u_xlat16_13.xyz;
        u_xlat10.xyz = u_xlat37.xxx * u_xlat16_13.xyz;
        u_xlat16_47 = dot(u_xlat1.xyz, u_xlat9.xyz);
        u_xlat16_47 = clamp(u_xlat16_47, 0.0, 1.0);
        u_xlat16_13.xyz = vec3(u_xlat16_47) * u_xlat10.xyz;
        u_xlat16_8.xyz = u_xlat16_13.xyz * u_xlat16_0.xyz + u_xlat16_8.xyz;
    }
    u_xlatu50 = uint(_FPParams1.w);
    if(u_xlatu50 != uint(0)) {
        u_xlat5.xy = u_xlat5.xy * _FPParams1.xy;
        u_xlatu5.xy = uvec2(u_xlat5.xy);
        u_xlatu51 = uint(_FPParams1.z);
        u_xlati5 = int(u_xlatu5.y) * int(u_xlatu51) + int(u_xlatu5.x);
        u_xlatu5.x = u_xlatu50 * uint(u_xlati5);
        u_xlat9.x = (-hlslcc_mtx4x4unity_MatrixV[0].z);
        u_xlat9.y = (-hlslcc_mtx4x4unity_MatrixV[1].z);
        u_xlat9.z = (-hlslcc_mtx4x4unity_MatrixV[2].z);
        u_xlat20 = dot(u_xlat9.xyz, u_xlat6.xyz);
        u_xlatb6 = unity_OrthoParams.w==0.0;
        u_xlat21 = log2(u_xlat20);
        u_xlat20 = (u_xlatb6) ? u_xlat21 : u_xlat20;
        u_xlat20 = u_xlat20 * _FPParams0.x + _FPParams0.y;
        u_xlatu20 = uint(u_xlat20);
        u_xlatu20 = min(u_xlatu20, 4095u);
        u_xlati50 = int(u_xlatu50) + 2;
        u_xlatu6 = uint(u_xlati50) * u_xlatu20;
        u_xlatu20 = u_xlatu20 * uint(u_xlati50) + 2u;
        u_xlatu50 = uint(u_xlatu6 >> (2u & uint(0x1F)));
        u_xlati6.xy = ivec2(int_bitfieldExtract(int(u_xlatu6), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu6), int(1) & int(0x1F), int(1) & int(0x1F)));
        u_xlati36.xy = ivec2(uvec2(uint(u_xlati6.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu50)].w)), uint(u_xlati6.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu50)].y))));
        u_xlati37.xy = op_not(u_xlati6.xy);
        u_xlati9.xy = ivec2(uvec2(uint(u_xlati37.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu50)].z)), uint(u_xlati37.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu50)].x))));
        u_xlati6.xz = ivec2(uvec2(uint(u_xlati36.x) | uint(u_xlati9.x), uint(u_xlati36.y) | uint(u_xlati9.y)));
        u_xlati50 = int(uint(uint(u_xlati6.y) & uint(u_xlati6.x)));
        u_xlati6.x = int(uint(uint(u_xlati37.y) & uint(u_xlati6.z)));
        u_xlatu50 = uint(uint(u_xlati50) | uint(u_xlati6.x));
        u_xlatu6 = uint(u_xlatu5.x >> (2u & uint(0x1F)));
        u_xlati21.xy = ivec2(int_bitfieldExtract(int(u_xlatu5.x), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu5.x), int(1) & int(0x1F), int(1) & int(0x1F)));
        u_xlati37.xy = ivec2(uvec2(uint(u_xlati21.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu6)].w)), uint(u_xlati21.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu6)].y))));
        u_xlati21.xz = op_not(u_xlati21.xy);
        u_xlati6.xy = ivec2(uvec2(uint(u_xlati21.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu6)].z)), uint(u_xlati21.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu6)].x))));
        u_xlati6.xy = ivec2(uvec2(uint(u_xlati6.x) | uint(u_xlati37.x), uint(u_xlati6.y) | uint(u_xlati37.y)));
        u_xlati5 = int(uint(uint(u_xlati21.y) & uint(u_xlati6.x)));
        u_xlati6.x = int(uint(uint(u_xlati21.z) & uint(u_xlati6.y)));
        u_xlati5 = int(uint(uint(u_xlati5) | uint(u_xlati6.x)));
        u_xlatu6 = uint(u_xlatu20 >> (2u & uint(0x1F)));
        u_xlati21.xy = ivec2(int_bitfieldExtract(int(u_xlatu20), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu20), int(1) & int(0x1F), int(1) & int(0x1F)));
        u_xlati37.xy = ivec2(uvec2(uint(u_xlati21.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu6)].w)), uint(u_xlati21.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu6)].y))));
        u_xlati21.xz = op_not(u_xlati21.xy);
        u_xlati6.xy = ivec2(uvec2(uint(u_xlati21.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu6)].z)), uint(u_xlati21.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu6)].x))));
        u_xlati6.xy = ivec2(uvec2(uint(u_xlati6.x) | uint(u_xlati37.x), uint(u_xlati6.y) | uint(u_xlati37.y)));
        u_xlati20 = int(uint(uint(u_xlati21.y) & uint(u_xlati6.x)));
        u_xlati6.x = int(uint(uint(u_xlati21.z) & uint(u_xlati6.y)));
        u_xlati20 = int(uint(uint(u_xlati20) | uint(u_xlati6.x)));
        u_xlati5 = int(uint(uint(u_xlati20) & uint(u_xlati5)));
        u_xlati20 = int(int(0xFFFFFFFFu) << (int(u_xlatu50) & int(0x1F)));
        u_xlati5 = int(uint(uint(u_xlati20) & uint(u_xlati5)));
        u_xlatu20 = uint(u_xlatu50 >> (16u & uint(0x1F)));
        u_xlatu20 = (-u_xlatu20) + 31u;
        u_xlatu20 = uint(4294967295u >> (u_xlatu20 & uint(0x1F)));
        u_xlati5 = int(uint(u_xlatu20 & uint(u_xlati5)));
    } else {
        u_xlati5 = 0;
    }
    u_xlat16_13.xyz = u_xlat16_8.xyz;
    u_xlati20 = u_xlati5;
    while(true){
        if(u_xlati20 == 0) {break;}
        u_xlati50 = 0 - u_xlati20;
        u_xlatu50 = uint(uint(u_xlati50) & uint(u_xlati20));
        u_xlat50 = float(u_xlatu50);
        u_xlatu50 = uint(uint(floatBitsToUint(u_xlat50)) >> (23u & uint(0x1F)));
        u_xlati50 = int(u_xlatu50) + int(0xFFFFFF81u);
        u_xlati6.x = int(1 << (u_xlati50 & int(0x1F)));
        u_xlati20 = int(uint(uint(u_xlati20) ^ uint(u_xlati6.x)));
        u_xlati50 = int(u_xlatu46) + u_xlati50;
        u_xlat6.xyz = (-vs_TEXCOORD1.xyz) * _AdditionalLightsPosition[u_xlati50].www + _AdditionalLightsPosition[u_xlati50].xyz;
        u_xlat51 = dot(u_xlat6.xyz, u_xlat6.xyz);
        u_xlat51 = max(u_xlat51, 6.10351562e-05);
        u_xlat37.x = inversesqrt(u_xlat51);
        u_xlat6.xyz = u_xlat6.xyz * u_xlat37.xxx;
        u_xlat37.x = float(1.0) / float(u_xlat51);
        u_xlat51 = u_xlat51 * _AdditionalLightsAttenuation[u_xlati50].x;
        u_xlat16_47 = (-u_xlat51) * u_xlat51 + 1.0;
        u_xlat16_47 = max(u_xlat16_47, 0.0);
        u_xlat16_47 = u_xlat16_47 * u_xlat16_47;
        u_xlat51 = u_xlat16_47 * u_xlat37.x;
        u_xlat16_47 = dot(_AdditionalLightsSpotDir[u_xlati50].xyz, u_xlat6.xyz);
        u_xlat16_47 = u_xlat16_47 * _AdditionalLightsAttenuation[u_xlati50].z + _AdditionalLightsAttenuation[u_xlati50].w;
        u_xlat16_47 = clamp(u_xlat16_47, 0.0, 1.0);
        u_xlat16_47 = u_xlat16_47 * u_xlat16_47;
        u_xlat51 = u_xlat16_47 * u_xlat51;
        u_xlati37.x = int(1 << (u_xlati50 & int(0x1F)));
        u_xlati37.x = int(uint(uint(u_xlati37.x) & uint(floatBitsToUint(_AdditionalLightsCookieEnableBits))));
        if(u_xlati37.x != 0) {
            u_xlati37.x = int(_AdditionalLightsLightTypes[u_xlati50]);
            u_xlati52 = (u_xlati37.x != 0) ? 0 : 1;
            u_xlati9.x = int(u_xlati50 << (2 & int(0x1F)));
            if(u_xlati52 != 0) {
                u_xlat24.xyz = vs_TEXCOORD1.yyy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati9.x + 1)].xyw;
                u_xlat24.xyz = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati9.x].xyw * vs_TEXCOORD1.xxx + u_xlat24.xyz;
                u_xlat24.xyz = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati9.x + 2)].xyw * vs_TEXCOORD1.zzz + u_xlat24.xyz;
                u_xlat24.xyz = u_xlat24.xyz + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati9.x + 3)].xyw;
                u_xlat24.xy = u_xlat24.xy / u_xlat24.zz;
                u_xlat24.xy = u_xlat24.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
                u_xlat24.xy = clamp(u_xlat24.xy, 0.0, 1.0);
                u_xlat24.xy = _AdditionalLightsCookieAtlasUVRects[u_xlati50].xy * u_xlat24.xy + _AdditionalLightsCookieAtlasUVRects[u_xlati50].zw;
            } else {
                u_xlatb37 = u_xlati37.x==1;
                u_xlati37.x = u_xlatb37 ? 1 : int(0);
                if(u_xlati37.x != 0) {
                    u_xlat37.xy = vs_TEXCOORD1.yy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati9.x + 1)].xy;
                    u_xlat37.xy = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati9.x].xy * vs_TEXCOORD1.xx + u_xlat37.xy;
                    u_xlat37.xy = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati9.x + 2)].xy * vs_TEXCOORD1.zz + u_xlat37.xy;
                    u_xlat37.xy = u_xlat37.xy + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati9.x + 3)].xy;
                    u_xlat37.xy = u_xlat37.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
                    u_xlat37.xy = fract(u_xlat37.xy);
                    u_xlat24.xy = _AdditionalLightsCookieAtlasUVRects[u_xlati50].xy * u_xlat37.xy + _AdditionalLightsCookieAtlasUVRects[u_xlati50].zw;
                } else {
                    u_xlat4 = vs_TEXCOORD1.yyyy * hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati9.x + 1)];
                    u_xlat4 = hlslcc_mtx4x4_AdditionalLightsWorldToLights[u_xlati9.x] * vs_TEXCOORD1.xxxx + u_xlat4;
                    u_xlat4 = hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati9.x + 2)] * vs_TEXCOORD1.zzzz + u_xlat4;
                    u_xlat4 = u_xlat4 + hlslcc_mtx4x4_AdditionalLightsWorldToLights[(u_xlati9.x + 3)];
                    u_xlat10.xyz = u_xlat4.xyz / u_xlat4.www;
                    u_xlat37.x = dot(u_xlat10.xyz, u_xlat10.xyz);
                    u_xlat37.x = inversesqrt(u_xlat37.x);
                    u_xlat10.xyz = u_xlat37.xxx * u_xlat10.xyz;
                    u_xlat37.x = dot(abs(u_xlat10.xyz), vec3(1.0, 1.0, 1.0));
                    u_xlat37.x = max(u_xlat37.x, 9.99999997e-07);
                    u_xlat37.x = float(1.0) / float(u_xlat37.x);
                    u_xlat11.xyz = u_xlat37.xxx * u_xlat10.zxy;
                    u_xlat11.x = (-u_xlat11.x);
                    u_xlat11.x = clamp(u_xlat11.x, 0.0, 1.0);
                    u_xlatb9.xw = greaterThanEqual(u_xlat11.yyyz, vec4(0.0, 0.0, 0.0, 0.0)).xw;
                    u_xlat9.x = (u_xlatb9.x) ? u_xlat11.x : (-u_xlat11.x);
                    u_xlat9.w = (u_xlatb9.w) ? u_xlat11.x : (-u_xlat11.x);
                    u_xlat37.xy = u_xlat10.xy * u_xlat37.xx + u_xlat9.xw;
                    u_xlat37.xy = u_xlat37.xy * vec2(0.5, 0.5) + vec2(0.5, 0.5);
                    u_xlat37.xy = clamp(u_xlat37.xy, 0.0, 1.0);
                    u_xlat24.xy = _AdditionalLightsCookieAtlasUVRects[u_xlati50].xy * u_xlat37.xy + _AdditionalLightsCookieAtlasUVRects[u_xlati50].zw;
                }
            }
            u_xlat16_4 = textureLod(_AdditionalLightsCookieAtlasTexture, u_xlat24.xy, 0.0);
            u_xlat16_47 = (u_xlatb7.y) ? u_xlat16_4.w : u_xlat16_4.x;
            u_xlat16_14.xyz = (u_xlatb7.x) ? u_xlat16_4.xyz : vec3(u_xlat16_47);
        } else {
            u_xlat16_14.x = float(1.0);
            u_xlat16_14.y = float(1.0);
            u_xlat16_14.z = float(1.0);
        }
        u_xlat16_14.xyz = u_xlat16_14.xyz * _AdditionalLightsColor[u_xlati50].xyz;
        u_xlat16_14.xyz = vec3(u_xlat35) * u_xlat16_14.xyz;
        u_xlat9.xyz = vec3(u_xlat51) * u_xlat16_14.xyz;
        u_xlat16_47 = dot(u_xlat1.xyz, u_xlat6.xyz);
        u_xlat16_47 = clamp(u_xlat16_47, 0.0, 1.0);
        u_xlat16_14.xyz = vec3(u_xlat16_47) * u_xlat9.xyz;
        u_xlat16_13.xyz = u_xlat16_14.xyz * u_xlat16_0.xyz + u_xlat16_13.xyz;
    }
    u_xlat16_2.xyz = u_xlat16_2.xyz * u_xlat16_0.xyz + u_xlat16_3.xyz;
    SV_Target0.xyz = u_xlat16_13.xyz + u_xlat16_2.xyz;
    u_xlatb1 = _Surface==1.0;
    SV_Target0.w = (u_xlatb1) ? u_xlat16_0.w : 1.0;
    return;
}


// Keywords: _FORWARD_PLUS _LIGHT_COOKIES _MAIN_LIGHT_SHADOWS _SCREEN_SPACE_OCCLUSION
// 